package cc.wfu.domain.user.repository;

import cc.wfu.domain.user.model.entity.UserEntity;

/**
 * @Author: jia-qiang ljq1024.cc
 * @desc: 用户仓储
 * @Date: 2024-05-16-10:41
 */
public interface IUserRepository  {

    /**
     * 用户注册接口
     * @param userEntity 参数
     * @return 1:成功， 否则失败
     */
    int save(UserEntity userEntity);

    /**
     * 通过邮箱查询用户
     * @param email 用户邮箱
     * @return 用户信息
     */
    UserEntity queryUser(String email);

    /**
     * 发送 MQ 消息，记录登录时间
     * @param email 用户邮箱
     */
    void sendLoginMqMessage(String email);

    /**
     * 修改上次登录时间
     * @param email 用户邮箱
     */
    void updateLastLoginTime(String email);

    /**
     * 修改用户密码
     */
    int updatePassword(UserEntity userEntity);
}
